# python是动态语言，在运行的时候可以动态添加属性。
# 如果要限制在运行的时候给类添加属性，Python允许在定义class的时候，
# 定义一个特殊的__slots__变量，来限制该class实例能添加的属性。
#
# 只有在__slots__变量中的属性才能被添加，没有在__slots__变量中的属性会添加失败。
# 可以防止其他人在调用类的时候胡乱添加属性或方法。__slots__属性子类不会继承，
# 只有在当前类中有效。
class Person:
    __slots__ = ("name","age")
    pass
xm=Person()
xm.name="小明"
xm.age=25
# xm.hobby="唱歌"
print(xm.name)
print(xm.age)
# print(xm.hobby)
class Student(Person):
    pass
tom=Student()
tom.hobby="画画"
print(tom.hobby)